STM32的晶振,时钟稳定性要重视 您所在的位置:网站首页 stm32 晶振不起振 STM32的晶振,时钟稳定性要重视

STM32的晶振,时钟稳定性要重视

2023-10-10 05:26| 来源: 网络整理| 查看: 265

最近看了不少网上网友的应用案例,在STM32晶振问题上不少都栽了跟头。我自己也碰见过一次。就是电容值搞错了。

ourdev有网友说:他的设备隔几天系统就出问题,系统时钟变慢。

----------------------------------------有网友说:

国产的晶振,我们用在产品里吃过很多亏。发出去几百个货(出厂都检验合格),到客户那里几个有时就不起振了(几个月后),后来改用进口的,从此不出问题了。哎! ---------------------------------------有网友说:第一次遇到是忘了焊接22P的电容,板子可以工作,但是运行速度慢,但是晶振起振了,示波器看波形有刺,想必是STM32认为外部晶振信号不好,自己用了内部的时钟,焊上22P电容,波形变好,板子正常工作;第二次是装在机器里面的板子,突然也是变慢了,以为是电源烤坏了晶振,因为电源比较热,整机是全密封的,拆下晶振重新焊一个,OK,再没出过问题。所以我认为晶振还是关键,STM32对晶振应该是有比较高的要求的,千万不要吝啬晶振上的成本。 -----------------------------------有网友说: 楼主的现象我也遇上过,可能是8M晶振失效或虚焊了,初始化时采用了内部时钟,慢了不少。 --------------------------------有网友说: 32.768晶振的负载电容类型需要 6P的,最好用4脚封装那种灰黑色的。 另外,如果是 RTC慢,就是32.768的问题。 如果是系统忽然变很慢,就是HSE部分,8M的那个有问题。 STM32 的自恢复能力还是很强的。 ---------------------------21IC有yewuyi 网友说:国内量产型低价晶体,尚不能做到真正的5PPM,标5PPM,其实都是10PPM以上的。 ------------------21IC网友IJK: 给STM32配6PF的32768晶振,当然用官方推荐的最好,官方推荐了:Epson、KDS和JFVNY,JFVNY是北京晶宇兴公司的晶体。 STM32的官方开发板用的就是JFVNY的32k晶体。 --------------------------有网友说:

21IC的ispmcu网友也说他搞ISP下载时候,也有时候一次搞不成功,两次上电才OK。

-------------------------ourdev网友:

31楼的情况碰到过,原因是负载电容焊错了,换了就好了。当时不小心焊上了0.1uF的,导致无法起振,自动启用内部的晶振,所以也就是楼主说的慢了好几倍,呵呵,换了正确的电容后,就一切正常,没有出现过问题。如果31楼换了晶振电容后,仍然有问题的话,可能要考虑是否是电源噪声,电路板布局等的因素了

-------------------------------网友:

我用STM32,启动时候如果检测不到外部晶体 就让他抱错停止,没有让他自动切换内部震荡......

网友:

国产晶振,这几年越来越差,是不争的事实。我现在用STM32,就出过几次晶振问题。一次是国产晶振不耐震动,成品运输过程坏了不少,还以为是芯片问题,吓出一身冷汗,哪采购了可不少的量。一次是用了国产晶振后,总线的频率有误差,外设工作不正常。这两个都是换了晶振解决。 还有一次比较怪异,做样品有10张板,就有一张的晶振焊下去是不起震的,其他的都没问题,该换过的都换过,很怪异,后来也没深究。不知和LZ的原因有没有关系。 传统的51工作频率较慢,所以用劣质一点的晶振,工作还过得去。STM32要是跑72M ,晶振的误差就很可观了。所以什不能省晶振 --------------------------------------网友: 既然楼主不回来结贴,我来结贴,我也遇到这种情况,其实就是外部晶振没有起振,而使用了内部晶振。我是一个搞软件的,对硬件不熟悉,我仔细查看了一下晶振的配置代码,问题在选择外部晶振后,要有个延时时间等待外部晶振起振。而这个延时时间是ST公司直接在固件库里设定了,就是等待了128个指令周期。也许ST公司认为在这么长的等待时间下,晶振应该可以完全起振了。如果你把这个等待时间改的长一点就可以了,如果还不可以,那就是晶振太差了,或者其他原因,自己找吧。 要改那个等待时间,打开stm32f10x_rcc.c 将 #define HSEStartUp_TimeOut        128      里的128改成一个大一点的数,我是改成了2000. 希望你们可以解决。 【博主注明】这个和我当时的方案是一样的。即便电容搞错了,将超时时间延长也是可以的。。。。但是一定要认为这是不正常的情况,想想办法在产品上体现出来,例如用灯。 =========================

------------------------------有网友:

你可以看一下代码,大多数人开始接触STM32F10x时,差不多都是使用的ST公司提供的代码例程,而在时钟配置那里有一句代码是if(HSEStartUpStatus == SUCCESS) 就是如果外部晶振起振成功才会进行锁相环的设置,那么如果外部晶振没有起振成功也就不会设置锁相环了,这样系统选择内部晶振后,因为没有对锁相环设置,所以你就会感觉到系统一下子慢了很多。实际上ST提供的这个例程是不够严谨的,只对条件成立进行了处理,而没有对条件不成立进行相应的处理,才会出现这些问题。对于内部晶振来说最大的缺点就是不够稳定,在出厂时是在25°C下校准的,如果工作环境很恶劣的话,不知道漂到哪去了,但是ST仍然给我们提供了校准的办法,就是修改时钟控制寄存器,但是好像很少有人这么做。所以如果你要用到通信功能的话,为了保证波特率稳定,必须要用外部晶振。

看样子对STM32的时钟的稳定性问题真是要注意。

----------------------------------------------------网友:

我已经用STM32F103C8T6设计了款工业级产品,使用了进口有源晶振,价格相当于片子2/3,体积和MCU差不多大。高低温、静电、EFT、跌落、机械振动都测试过了,没有问题。为了你的产品量产后不纠结,大家都用有源的吧!!不过另一款产品年用DSP F28027的板子用的是小日本NDK的无源晶体,按照PDF配置了负载电容,高温85°上电8小时,也没有发现有什么问题。我觉得时钟稳定性和布板有重大关系,有源晶振的线路距离CPU要尽量短,同时两侧的覆铜要密集过孔接地。无源晶体的两根线要尽量紧靠、对称,离CPU距离要尽量短,负载电容距离晶体要尽量近,最好不要用49S或者49U封装,用7050、5032的贴片好些。实在必须用49S或者49U的晶振,它的壳体必须用焊锡接地.



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有